﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Core;
using System.Data.SqlClient;
using Crosland.Automotriz.Seguridad.ControlExeption;
namespace Crosland.Automotriz.Logic.Linq
{
    public class clsSolicitudAprobacionLogic
    {

        clsSolicitudAprobacionDAO solicituDao = new clsSolicitudAprobacionDAO();
        public IEnumerable<Object> listarSolicitudPrimer() {

            return solicituDao.listarSolicitudPrimer();
        
        }
        public String ObtieneCorreoUsuario(string strIdUsuario)
        {
            return solicituDao.ObtieneCorreoUsuario(strIdUsuario);
        }
        public string IdUsuarioPrimerNivel(int nivel,string email)
        {
            return solicituDao.IdUsuarioPrimerNivel(nivel,email);
        }

        public IEnumerable<Object> listarSolicitudSegundo()
        {

            return solicituDao.listarSolicitudSegundo();

        }




        public List<TD_PRONOSTICO_ESTADO> listaEstadoNivel0()
        {

            return solicituDao.listarEstado();

        }



        public List<TD_PRONOSTICO_ESTADO> listaEstadoNivel1()
        {

            List<TD_PRONOSTICO_ESTADO> lista = new List<TD_PRONOSTICO_ESTADO>();
        try 
	{

        var q = from e in solicituDao.listarEstado()
                where e.ID_ESTADO > 0
                select e;
            lista= q.ToList();
		
	}
	catch 
	{
		
	}

        return lista;


        
        }


        public List<TD_PRONOSTICO_ESTADO> listaEstadoNivel2()
        {

            List<TD_PRONOSTICO_ESTADO> lista = new List<TD_PRONOSTICO_ESTADO>();
            try
            {

                var q = from e in solicituDao.listarEstado()
                        where e.ID_ESTADO > 1
                        select e;
                lista = q.ToList();

            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO listaEstadoNivel2", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

            return lista;



        }




        public bool UpdateAprobacion(string tipo, int nroPronostico, string usuario)
        {
            return solicituDao.UpdateAprobacion(tipo, nroPronostico, usuario);
        }







    }
}
